#ifndef _OCCI_ATTRIBUTE_VAL_H_
#define _OCCI_ATTRIBUTE_VAL_H_

#include <buildspec.h>
#include <Client/ClientUtils/Network/RDBAttribute.h>

namespace GST {
namespace ClientUtils {

	/**
	 * A value with a table description attached to it.
	 */
class GST_API_EXPORT OCCIAttributeVal
	: public AbstractRDBAttributeVal
{	
public:

	//OCCIAttributeVal(const std::string& name, const std::string& tablename, TableAttributeDesc::DType type, int dimension, const boost::any& value, bool notNull);
	OCCIAttributeVal(const TableAttributeDesc& desc, const boost::any& value);
	OCCIAttributeVal(const TableAttributeDescPtr desc, const boost::any& value);

	OCCIAttributeVal();

	///@name getters
	//@{
	virtual std::string getValueAsDML() const;
	//@}	
};
typedef boost::shared_ptr<OCCIAttributeVal> OCCIAttributeValPtr;

}// namespace ClientUtils
}// namespace GST


#endif  //_OCCI_ATTRIBUTE_VAL_H_
